.log-title {
  margin-top: 0;
}
.log-header {
  margin-bottom: 3px;
  label {
    margin-bottom: 0;
  }
  .dash {
    .text-muted();
    margin: 0 2px;
  }
  .log-actions {
    form {
      display: inline-block;
    }
    .btn-link {
      padding: 0;
    }
  }
  .log-timestamps {
    .text-muted();
    display: block;
  }
  @media (min-width: @screen-sm-min) {
    .log-status {
      display: inline;
    }
    .log-timestamps {
      .small();
      display: inline-block;
      margin-left: 3px;
    }
    .log-actions {
      .pull-right();
      margin-left: 5px;
    }
  }
}
.log-size-warning {
  margin: 0;
}
.log-view {
  background-color: @log-bg-color;
  // Make sure log-actions are not hidden behind log if they wrap.
  clear: both;
  font-family: @font-family-monospace;
  padding: 0;
  position: relative;
  pre, pre code {
    background-color: transparent;
    border: 0;
    margin-bottom: 0;
    overflow: visible;
    padding: 0 10px;
  }
  .log-scroll {
    background-color: @log-bg-color;
    border: 1px solid lighten(@log-bg-color, 10%);
    display: inline-block;
    &:hover {
      border-color: lighten(@log-bg-color, 15%);
    }
    a {
      display: inline-block;
      font-family: @font-family-base;
      font-size: @font-size-base - 1;
      padding: 4px 10px;
    }
    a:hover,a:focus {
      background-color: darken(@log-bg-color, 10%);
      color: @link-hover-color-bright;
      text-decoration: none;
    }
  }
  .log-scroll-top {
    position: absolute;
    right: 0;
    border-right-width: 0;
    border-top: 0;
  }
  // starting position
  .log-scroll-top.affix-top {
    position: absolute;
    right: 0;
    top: 0;
  }
  // once affixed, has this position
  .log-scroll-top.affix {
    position: fixed;
    right: 20px;
    top: 0;
  }
  // TODO: hacky, need to encapsulate this better
  // '.target-logger-node' is a class indicating the target is not 'window'
  // this is toggled in JS
  .log-scroll-top.affix.target-logger-node {
    position: fixed;
    right: 45px;
    top: 60px !important;
  }

  .log-scroll-bottom {
    position: absolute;
    border-bottom: 0;
    border-right-width: 0;
    bottom: 0;
    right: 0;
  }
  .log-view-output {
    font-size: 11px;
    @media (min-width: @screen-sm-min) {
      font-size: 12px;
    }
    padding: 40px 0;
    @media only screen and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 0) {
      // On an iPhone, add additional margin so that following logs is never obscured
      // by the bottom buttons that are displayed and hidden.
      padding-bottom: 70px;
    }
    table {
      table-layout: fixed;
      width: 100%;
    }
  }
  &.log-fixed-height {
    .ellipsis-loader {
      background-color: @log-bg-color;
      bottom: 0;
      height: 30px;
      right: @scrollbar-width-log-viewer;
      width: auto;
      &.dots div {
        left: 50%;
        top: 12px;
      }
    }
    .log-end-msg {
      margin: 20px 0 -35px 10px;
      position: static;
    }
    .log-scroll-bottom, .log-scroll-top {
      border-right-width: 1px;
      right: @scrollbar-width-log-viewer; // width of IE11 scrollbar
    }
    .log-view-output {
      overflow: auto;
      padding-top: 30px;
    }
  }
}
.ellipsis-loader {
  // Show the loading dots at the bottom, even when the log content doesn't fill the page.
  position: absolute;
  bottom: 10px;
  // Center the dots.
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
}
.log-end-msg {
  font-family: @font-family-base;
  font-size: @font-size-base - 1;
  color: #72767b;
  position: absolute;
  bottom: 5px;
  left: 10px;
}
// TODO: need to encapsulate this better
.chromeless .log-scroll-top.affix {
  right: 0px; // override
}
.chromeless .log-scroll-top.affix.target-logger-node {
  right: @scrollbar-width;  // override
}

.log-link-external {
  text-align: right;
  a {
    margin-left: 20px;
    margin-right: 10px;
    white-space: nowrap;
  }
  i {
    font-size: @font-size-xsmall;
    margin-left: 5px;
  }
}
.log-line {
  color: #d1d1d1;
  &:hover {
    background-color: lighten(@log-bg-color, 8%);
    color: #ededed;
  }
}
.log-line-number:before {
  content: attr(data-line-number);
}
.log-line-number {
  .unselectable();
  border-right: 1px lighten(@log-bg-color, 10%) solid;
  padding-right: 10px;
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
  width: 60px;
  color: #72767b;
}
.log-line-text {
  padding: 0 10px;
  white-space: pre-wrap;
  width: 100%;
  .word-break();
  // Invert colors on selection in Firefox. Change the background style for
  // Firefox only since it's illegible with its defaults and our log colors.
  // https://developer.mozilla.org/en-US/docs/Web/CSS/::selection
  &::-moz-selection {
    color: @log-bg-color;
    background: lighten(#d1d1d1, 8%);
  }
}
.table-log-pods {
  > tbody + tbody {
    border-top-width: 1px;
  }
  background-color: #fff;
  border: 1px solid #D1D1D1;
}

.log-fixed-height.empty-state-message {
  margin-top: 0;
}
